package thinkingInJava;

import java.util.ArrayList;
import java.util.List;

/**
 * 类修饰符
 * public 可以从其他类访问
 * abstract 不能被实例化
 * final 不能再声明子类
 *
 */
/**
 *构造函数修饰符
 *public 
 *protected 只能从自己的类和它的子类访问
 *private 只能自己的类访问
 */
/**
 *域/成员变量修饰符  
Public 可以从所有的类中访问

Protected 只能从本类和它的子类中访问

Private 只能从本类中访问它

Static 对该类的所有实例只能有一个域值存在

transient 不是一个对象持久状态的一部份

Volatile 可以被异步的线程所修改

final 必须对它赋予初值并且不能修改它
 */
/**
 * 
 *局部变量 修饰符 
 *final 必须对它赋予初值并且不能修改它
 */
/**
 * 
 *方法修饰符 
 *Public 可以从所有的类中访问它
Protected 只能从本类及其子类中访问它
Private 只能从本类中访问它
abstract 没有方法体，属于一个抽象类
final 子类不能覆盖它
static 被绑定于类本身而不是类的实例
native该方法由其他编程语言实现
asnchronized 在一个线程调用它之前必须先给它加
 */
public class Learn6 {
	public static void main(String[] args) {
		String a="12";
		String b=new String("12");
		System.out.println(a==b);
		List<String> list=new ArrayList<String>();
		list.add("1");
		list.add("1");
		System.out.println(list.get(0)==list.get(1));
		List<Integer> listInt=new ArrayList<Integer>();
		listInt.add(1);
		listInt.add(1);
		System.out.println(listInt.get(0)==listInt.get(1));
	}

}
class Father{
	private Father(){
		
	}
}
//不能继承构造函数私有化的父类
/*class Son extends Father{
	
}*/
